Advances in computer technology (e.g., microprocessor speed, memory capacity, data transfer bandwidth, software functionality, and the like) have generally contributed to increased computer application in various industries, such that organization of computer systems has changed dramatically. The concept of a large computer center with a single large computer to which all users bring their work is obsolete. Similarly, Data Base Management Systems (DBMS systems) have long since moved from a centralized mainframe environment to a de-centralized or distributed environment. For example, one or more PC “client” systems can be connected via a network to one or more server-based database systems (Structure Query Language—SQL database server). Known examples of computer networks include local-area networks (LANs) where the computers are geographically close together (e.g., in the same building), and wide-area networks (WANs) where the computers are farther apart and are connected by telephone lines or radio waves.
Often, networks are configured as “client/server” networks, such that computers on the network classify as a “client” or a “server.” Servers are powerful computers or processes dedicated to managing shared resources, such as storage (e.g. disk drives), printers, modems, or the like. Servers are often dedicated, meaning that they perform virtually no other tasks besides their server tasks. For instance, a database server manages database information such as processing database queries from various clients. The client portion of client-server architecture typically includes PCs or workstations, which rely on server(s) to perform operations. Typically, a client runs a “client application” that relies on a server to perform some operations, such as returning particular database information. Over such networks, various request-response protocols transport information according to predetermined set of rules.
One such request-response protocol is the Tabular Data Stream (TDS) protocol, which is a message oriented application level protocol employed for transfer of requests and responses between client and server systems. TDS can include native support for traditional SQL data types, such as character (char), variable-length character (vchar), binary (blob), date-time, time stamp, vendor-specific data types, and the like. In systems employing TDS, it is typical for a client (e.g., user or application program) to establish a long-lived connection with a server (e.g., database.) Upon a successful hand shake and establishment of the connection via a suitable supported transport/session level protocol, a complete message transfers from client to server after which a complete response travels from server to client.